Model-Driven Software Verification
نویسندگان
چکیده
In the classic approach to logic model checking, software verification requires a manually constructed artifact (the model) to be written in the language that is accepted by the model checker. The construction of such a model typically requires good knowledge of both the application being verified and of the capabilities of the model checker that is used for the verification. Inadequate knowledge of the model checker can limit the scope of verification that can be performed; inadequate knowledge of the application can undermine the validity of the verification experiment itself. In this paper we explore a different approach to software verification. With this approach, a software application can be included, without substantial change, into a verification test-hamess and then verified directly, while preserving the ability to appZy data abstraction techniques. Only the test-hamess is written in the language of the model checker. The test-hamess is used to drive the application through all its relevant states, while logical properties on its execution are checked by the model checker. To allow the model checker to track state, and avoid duplicate work, the test-hamess includes definitions of all data objects in the application that contain state information. The main objective of this paper is to introduce a powerful extension of the SPIN model checker that allows the user to directly define data abstractions in the logic verification of application level programs.
منابع مشابه
Improving Software Quality in Safety-Critical Applications by Model-Driven Verification
We propose a new development scheme for quality-aware applications, quality-driven development (QDD), based on the Model-Driven Architecture (MDA) of OMG. We argue that software development in areas, such as real-time systems, should not only rely on code verification, but also on design verification, and show that a slightly extended MDA process offers the opportunity to integrate system devel...
متن کاملThe Drawbacks of model - driven Software
This short paper is an essay on the drawbacks of model driven software evolution which apply equally well to model driven software development. The idea of automatically generating code changes from a UML type model is equally enticing as that of automatically generating whole components from such a model. The drawback is that there is then nothing to test against, since there is only one descr...
متن کاملBAS: A Case Study for Modeling and Verification in Trustable Model Driven Development
Multi-view modeling and separation of concerns are widely used to decrease the design complexity of the large-scale software system. To ensure the correctness and consistency of multi-view requirement models, the formal verification technology should be applied to the model-driven development process. However, there still lacks unified theory foundation and tool supports for the rigorous modeli...
متن کاملA model-driven validation & verification environment for embedded systems
This paper presents a model-driven environment for HW/SW co–design and analysis of embedded systems based on the Unified Modeling Language, UML profiles for SystemC/multithread C, and the Abstract State Machine formal method. The environment supports a model-driven design methodology which provides a graphical high-level representation of hardware and software components, and allows C/C++/Syste...
متن کاملAn aspect-oriented, model-driven approach to functional hardware verification
The cost of correcting errors in the design of an embedded system’s hardware components can be higher than for its software components, making it important to test as early as possible. Testing hardware components before they are implemented involves verifying the design through either formal or more commonly, simulation-based functional verification. Performing functional verification of a har...
متن کاملSudoku App: Model-Driven Development of Android Apps Using OCL?
1998 ACM CR Categories: D.2.1 [Software Engineering] Requirements/Specificationslanguages; D.2.2 [Software Engineering] Design Tools and Techniquesobject-oriented design methods, state diagrams; D.2.4 [Software Engineering] Software/Program Verificationclass invariants, formal methods; F.3.1 [Logics and Meaning of Programs] Specifying and Verifying and Reasoning about Programsassertions, in...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004